![]() |
![]() |
![]() | |
![]() ![]() ![]() ![]()
╧σ≡Γ√Θ α∩δσ≥ |
╠σ≥εΣ paint═αΦßεδσσ Φφ≥σ≡σ±σφ Σδ φα± ∞σ≥εΣ paint, Ωε≥ε≡√Θ Γ√∩εδφ σ≥ ≡Φ±εΓαφΦσ Γ εΩφσ α∩δσ≥α. ┬ε≥ σπε Φ±⌡εΣφ√Θ ≥σΩ±≥: public void paint(Graphics g) { g.drawString("Hello, Java world!", 20, 20); } ┼±δΦ ∩ε±∞ε≥≡σ≥ⁿ ε∩≡σΣσδσφΦσ Ωδα±±α Applet, Ωε≥ε≡εσ φα⌡εΣΦ≥± Γ ⌠αΘδσ Java¡Workshop20\JDK\src\java\applet\Applet.java, ≥ε Γ φσ∞ φσ≥ ∞σ≥εΣα paint. ┬ ΩαΩε∞ µσ Ωδα±±σ ε∩≡σΣσδσφ ²≥ε≥ ∞σ≥εΣ? ╚σ≡α≡⌡Φ Ωδα±±εΓ╟απδ φσ∞ Γ ΣεΩ≤∞σφ≥α÷Φ■. ┬√ßσ≡Φ≥σ Φτ ∞σφ■ Help πδαΓφεπε εΩφα ∩≡ΦδεµσφΦ Java WorkShop ±≥≡εΩ≤ Java API Documentation. ═α ²Ω≡αφσ ∩ε ΓΦ≥± εΩφε ß≡α≤τσ≡α, Γ±≥≡εσφφεπε Γ Java WorkShop. ╤ ∩ε∞ε∙ⁿ■ ²≥επε ß≡α≤τσ≡α Γ√ ±∞εµσ≥σ ∩≡ε±∞α≥≡ΦΓα≥ⁿ ±εΣσ≡µΦ∞εσ ±∩≡αΓε≈φεΘ ±Φ±≥σ∞√. ┬ ≡ατΣσδσ Java API Packages Γ√ßσ≡Φ≥σ ßΦßδΦε≥σΩ≤ Ωδα±±εΓ java.applet, α τα≥σ∞ Γ ≡ατΣσδσ Class Index - ±≥≡εΩ≤ Applet. ┬√ ≤ΓΦΣΦ≥σ Φσ≡α≡⌡Φ■ Ωδα±±εΓ: java.lang.Object | +---java.awt.Component | +---java.awt.Container | +---java.awt.Panel | +---java.applet.Applet ╚τ ²≥εΘ Φσ≡α≡⌡ΦΦ ΓΦΣφε, ≈≥ε Ωδα±± java.applet.Applet ∩≡εΦτε°σδ ε≥ Ωδα±±α java.awt.Panel. ▌≥ε≥ Ωδα±±, Γ ±Γε■ ε≈σ≡σΣⁿ, ε∩≡σΣσδσφ Γ ßΦßδΦε≥σΩσ Ωδα±±εΓ java.awt Φ ∩≡εΦτε°σδ ε≥ Ωδα±±α java.awt.Container. ╧≡εΣεδµΦ∞ φα°Φ Φ±±δσΣεΓαφΦ . ┬ Ωδα±±σ java.awt.Container ±φεΓα φσ≥ ∞σ≥εΣα paint, φε ±α∞ ²≥ε≥ Ωδα±± ±ετΣαφ φα ßατσ Ωδα±±α java.awt.Component. ═ε Φ τΣσ±ⁿ ∞σ≥εΣα paint φσ≥. ▌≥ε≥ ∞σ≥εΣ ε∩≡σΣσδσφ Γ Ωδα±±σ java.awt.Component, Ωε≥ε≡√Θ, Γ ±Γε■ ε≈σ≡σΣⁿ, ∩≡εΦτε°σδ ε≥ Ωδα±±α java.lang.Object Φ ≡σαδΦτ≤σ≥ Φφ≥σ≡⌠σΘ± java.awt.image.ImageObserver. ╥αΩΦ∞ εß≡ατε∞ ∞√ ∩≡ε±δσΣΦδΦ Φσ≡α≡⌡Φ■ Ωδα±±εΓ ε≥ Ωδα±±α java.applet.Applet, φα ßατσ Ωε≥ε≡επε ±ετΣαφ φα° α∩δσ≥, Σε Ωδα±±α java.lang.Object, Ωε≥ε≡√Θ Γδ σ≥± ßατεΓ√∞ Σδ Γ±σ⌡ Ωδα±±εΓ Γ Java. ╠σ≥εΣ paint ε∩≡σΣσδσφ Γ Ωδα±±σ java.awt.Component, φε ≥αΩ ΩαΩ ²≥ε≥ Ωδα±± Γδ σ≥± ßατεΓ√∞ Σδ Ωδα±±α Applet Φ Σδ φα°σπε Ωδα±±α HelloApplet, ∞√ ∞εµσ∞ ∩σ≡σε∩≡σΣσδΦ≥ⁿ ∞σ≥εΣ paint. ┬√τεΓ ∞σ≥εΣα paint╠σ≥εΣ paint Γ√τ√Γασ≥± , ΩεπΣα φσεß⌡εΣΦ∞ε ∩σ≡σ≡Φ±εΓα≥ⁿ εΩφε α∩δσ≥α. ┼±δΦ Γ√ ±ετΣαΓαδΦ ∩≡ΦδεµσφΦ Σδ ε∩σ≡α÷ΦεφφεΘ ±Φ±≥σ∞√ Windows, ≥ε φαΓσ≡φ Ωα τφαΩε∞√ ± ±εεß∙σφΦσ∞ WM_PAINT, Ωε≥ε≡εσ ∩ε±≥≤∩ασ≥ Γ ⌠≤φΩ÷Φ■ εΩφα ∩≡ΦδεµσφΦ ∩≡Φ φσεß⌡εΣΦ∞ε±≥Φ σπε ∩σ≡σ≡Φ±εΓΩΦ. ╧σ≡σ≡Φ±εΓΩα εΩφα ∩≡ΦδεµσφΦ Windows Φ εΩφα α∩δσ≥α εß√≈φε Γ√∩εδφ σ≥± α±Φφ⌡≡εφφε ∩ε ε≥φε°σφΦ■ Ω ≡αßε≥σ ∩≡ΦδεµσφΦ ΦδΦ α∩δσ≥α. ┬ δ■ßεΘ ∞ε∞σφ≥ Γ≡σ∞σφΦ α∩δσ≥ Σεδµσφ ß√≥ⁿ πε≥εΓ ∩σ≡σ≡Φ±εΓα≥ⁿ ±εΣσ≡µΦ∞εσ ±Γεσπε εΩφα. ╥αΩα ≥σ⌡φΦΩα ε≥δΦ≈ασ≥± ε ≥εΘ, Ω Ωε≥ε≡εΘ Γ√, Γετ∞εµφε, ∩≡ΦΓ√ΩδΦ, ±ετΣαΓα εß√≈φ√σ ∩≡επ≡α∞∞√ Σδ MS-DOS. ╧≡επ≡α∞∞√ MS-DOS ±α∞Φ ε∩≡σΣσδ ■≥, ΩεπΣα Φ∞ φ≤µφε ≡Φ±εΓα≥ⁿ φα ²Ω≡αφσ, ∩≡Φ≈σ∞ ≡Φ±εΓαφΦσ ∞εµσ≥ Γ√∩εδφ ≥ⁿ± Φτ ≡ατφ√⌡ ∞σ±≥ ∩≡επ≡α∞∞√. └∩δσ≥√, ≥αΩ µσ ΩαΩ Φ ∩≡ΦδεµσφΦ Windows, Γ√∩εδφ ■≥ ≡Φ±εΓαφΦσ Γ ±ΓεΦ⌡ εΩφα⌡ ÷σφ≥≡αδΦτεΓαφφε. └∩δσ≥ Σσδασ≥ ²≥ε Γ ∞σ≥εΣσ paint, α ∩≡ΦδεµσφΦσ Windows - ∩≡Φ εß≡αßε≥Ωσ ±εεß∙σφΦ WM_PAINT. ╬ß≡α≥Φ≥σ ΓφΦ∞αφΦσ, ≈≥ε ∞σ≥εΣ≤ paint Γ Ωα≈σ±≥Γσ ∩α≡α∞σ≥≡α ∩σ≡σΣασ≥± ±±√δΩα φα εß·σΩ≥ Graphics: public void paint(Graphics g) { . . . } ╧ε ±Γεσ∞≤ ±∞√±δ≤ ²≥ε≥ εß·σΩ≥ φα∩ε∞Φφασ≥ Ωεφ≥σΩ±≥ ε≥εß≡αµσφΦ , ± Ωε≥ε≡√∞ ⌡ε≡ε°ε τφαΩε∞√ ±ετΣα≥σδΦ ∩≡ΦδεµσφΦΘ Windows. ╩εφ≥σΩ±≥ ε≥εß≡αµσφΦ - ²≥ε ΩαΩ ß√ ⌡εδ±≥, φα Ωε≥ε≡ε∞ α∩δσ≥ ∞εµσ≥ ≡Φ±εΓα≥ⁿ Φτεß≡αµσφΦσ ΦδΦ ∩Φ±α≥ⁿ ≥σΩ±≥. ╠φεπε≈Φ±δσφφ√σ ∞σ≥εΣ√ Ωδα±±α Graphics ∩ετΓεδ ■≥ ταΣαΓα≥ⁿ ≡ατδΦ≈φ√σ ∩α≡α∞σ≥≡√ ⌡εδ±≥α, ≥αΩΦσ, φα∩≡Φ∞σ≡, ΩαΩ ÷Γσ≥ ΦδΦ °≡Φ⌠≥. ═α°σ ∩≡ΦδεµσφΦσ Γ√τ√Γασ≥ ∞σ≥εΣ drawString, Ωε≥ε≡√Θ ≡Φ±≤σ≥ ≥σΩ±≥εΓ≤■ ±≥≡εΩ≤ Γ εΩφσ α∩δσ≥α: g.drawString("Hello, Java world!", 20, 20); ┬ε≥ ∩≡ε≥ε≥Φ∩ ²≥επε ∞σ≥εΣα: public abstract void drawString(String str, int x, int y); ╫σ≡στ ∩σ≡Γ√Θ ∩α≡α∞σ≥≡ ∞σ≥εΣ≤ drawString ∩σ≡σΣασ≥± ≥σΩ±≥εΓα ±≥≡εΩα Γ ΓΦΣσ εß·σΩ≥α Ωδα±±α String. ┬≥ε≡εΘ Φ ≥≡σ≥ΦΘ ∩α≡α∞σ≥≡ ε∩≡σΣσδ ■≥, ±εε≥Γσ≥±≥Γσφφε, Ωεε≡ΣΦφα≥√ ≥ε≈ΩΦ, Γ Ωε≥ε≡εΘ φα≈φσ≥± ≡Φ±εΓαφΦσ ±≥≡εΩΦ. ┬ ΩαΩεΘ Ωεε≡ΣΦφα≥φεΘ ±Φ±≥σ∞σ? └∩δσ≥√ Φ±∩εδⁿτ≤■≥ ±Φ±≥σ∞≤ Ωεε≡ΣΦφα≥, Ωε≥ε≡α ±εε≥Γσ≥±≥Γ≤σ≥ ≡σµΦ∞≤ ε≥εß≡αµσφΦ MM_TEXT, τφαΩε∞ε∞≤ ≥σ∞, Ω≥ε ±ετΣαΓαδ ∩≡ΦδεµσφΦ Windows. ═α≈αδε ²≥εΘ ±Φ±≥σ∞√ Ωεε≡ΣΦφα≥ ≡α±∩εδεµσφε Γ δσΓε∞ Γσ≡⌡φσ∞ ≤πδ≤ εΩφα α∩δσ≥α, ε±ⁿ X φα∩≡αΓδσφα ±δσΓα φα∩≡αΓε, α ε±ⁿ Y - ±Γσ≡⌡≤ ΓφΦτ (≡Φ±. 9). ╨Φ±. 9. ╤Φ±≥σ∞α Ωεε≡ΣΦφα≥, Φ±∩εδⁿτ≤σ∞α ∞σ≥εΣε∞ drawString ═α ²≥ε∞ µσ ≡Φ±≤φΩσ ∩εΩαταφε, ΩαΩ ∞σ≥εΣ drawString φα≡Φ±≤σ≥ ≥σΩ±≥εΓ≤■ ±≥≡εΩ≤ ± Ωεε≡ΣΦφα≥α∞Φ (xCoord, yCoord). |